/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package tk.zater.obj;

/**
 *
 * @author zater
 */

import java.io.Serializable;
import tk.zater.Enum.Fix;

public class CS<E> implements Serializable,Cloneable {
    /**
     * 这个是从用户或第三方获得的值
     */
   // @CreateDocument(key="CS", value="一个泛型")
    /**
     * 这个是从用户或第三方获得的值1
     */
    public E value;
    /**
     * 这个是从默认的值
     */
    public E dvalue;
    /**
     * 这个是给用户的提示
     */
    public String note;
   
  
    /***
     * 获得用户设定的数值
     *
     */
    public E getValue() {
        return value;
    }
    /***
     * 设定用户的数值
     *
     */
    public void setValue(Object value) {
        this.value = (E)value;
    }
    
    /***
     * 获得默认的数值
     *
     */
    public E getDvalue() {
        return dvalue;
    }
    /***
     * 设置用户的数值
     *
     */
    public void setDvalue(E dvalue) {
        this.dvalue = dvalue;
    }
/***
     * 获得用户的提示
     *
     */
    public String getNote() {
        return note;
    }
    /***
     * 设定用户的提示
     *
     */
    public void setNote(String note) {
        this.note = note;
    }

    public CS(E value, E dvalue, String note) {
        this.value = value;
        this.dvalue = dvalue;
        this.note = note;
    }

    public CS(E dvalue, String note) {
        this.dvalue = dvalue;
        this.value = dvalue;
        this.note = note;
    }

    public CS(E dvalue) {
        this.dvalue = dvalue;
        this.value = dvalue;
    }

    public CS() {
    }
    
  
    
    
    /***
     * 
     * 返回这个E的类型
     */
    public Class<?> myEclass() {
        return this.dvalue.getClass();
    }
      
       public Fix fix=Enum.valueOf(Fix.class, "REPORT");
    
}
